Skip to content

Conversation

@d3xter666
Copy link
Member

JIRA: CPOUI5FOUNDATION-904

@d3xter666 d3xter666 marked this pull request as draft December 11, 2025 07:33
@cla-assistant
Copy link

cla-assistant bot commented Dec 11, 2025

CLA assistant check
All committers have signed the CLA.

@coveralls
Copy link

coveralls commented Dec 11, 2025

Coverage Status

coverage: 94.337% (-0.01%) from 94.35%
when pulling d1fc5b1 on jsdoc-to-markdow
into d17f79e on main.

}
}
},
"githubSourceBaseUrl": "https://github.com/UI5/cli/blob/main/pacakges/"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"githubSourceBaseUrl": "https://github.com/UI5/cli/blob/main/pacakges/"
"githubSourceBaseUrl": "https://github.com/UI5/cli/blob/main/packages/"

@@ -1,4 +1,4 @@
(function(window) {
nbpm(function(window) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

CONTRIBUTING.md Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Member Author

@d3xter666 d3xter666 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And one general comment:

We shall not modify the content within packages/ folder, nor delete anything from there. That will impact the UI5 CLI functionality, tests and docs

if (process.argv[2] == "gh-pages") {
// Read package.json of packages/builder
const builderJson = JSON.parse(fs.readFileSync("tmp/packages/@ui5/builder/package.json"));
packageTagName = `https://github.com/UI5/cli/blob/cli-v${builderJson["version"]}/packages/`;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link is invalid, because the previous versions of UI5 CLI are not within a monorepo, but separate packages and they have separate repositories. There is no packages folder, except for the main branch

Comment on lines 116 to 119
for (const file of fs.readdirSync(outputDirectory)) {
fs.rmSync(path.join(outputDirectory, file));
}
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use the rimraf package and clean the whole dir

}

async function checkDeadlinks(link, sourcePath) {
if ((await fetch(link)).status != 200) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should not be within the 4xx range. Please take a look here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status

@@ -0,0 +1,92 @@
## Modified by SAP
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this package copied here, but not used as dependency to the documentation?

Comment on lines 87 to 89
* <pre>
* this["name"] = name;
* </pre>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is how our current JSDoc works. Can we handle this in the transofrmation?
I know that if we leave it like that here, the vitepress build might fail

@werwolf2303 werwolf2303 force-pushed the jsdoc-to-markdow branch 8 times, most recently from 075a37e to 426458e Compare January 20, 2026 10:26
@matz3
Copy link
Member

matz3 commented Jan 20, 2026

There are still some dead links. You can find them by searching for .md" within ./internal/documentation/dist/api. Note that some of those links are correct (e.g. links to a RFC document on GitHub).

Please continue to create new commits, as that makes reviewing changes easier. We can squash all commits again after all open points have been addressed.


// Recursively handle the inner type
if (isComplexTypeExpression(innerType)) {
result += linkComplexType(innerType, null, classString.replace(' class="', '').replace('"', ''));

Check failure

Code scanning / CodeQL

Incomplete string escaping or encoding High documentation

This replaces only the first occurrence of '"'.

Copilot Autofix

AI about 10 hours ago

In general, the problem arises because String.prototype.replace is given a string pattern, so only the first occurrence is replaced. To correctly remove all instances of class=" and " in the provided context, we should use regular expressions with the g (global) flag, or refactor so that we never need to do piecemeal string surgery on classString.

The minimal, behavior-preserving fix here is to change the two .replace calls to use regular expressions that match all occurrences: .replace(/ class="/g, '') and .replace(/"/g, ''). This keeps the logic the same—stripping all instances of the leading class=" and any remaining quote characters—while ensuring we are not limited to just the first occurrence. Only line 675 in internal/documentation/jsdoc/docdash/publish.js needs to change, and no new imports or helper methods are required.

Suggested changeset 1
internal/documentation/jsdoc/docdash/publish.js

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/internal/documentation/jsdoc/docdash/publish.js b/internal/documentation/jsdoc/docdash/publish.js
--- a/internal/documentation/jsdoc/docdash/publish.js
+++ b/internal/documentation/jsdoc/docdash/publish.js
@@ -672,7 +672,7 @@
 
 	// Recursively handle the inner type
 	if (isComplexTypeExpression(innerType)) {
-		result += linkComplexType(innerType, null, classString.replace(' class="', '').replace('"', ''));
+		result += linkComplexType(innerType, null, classString.replace(/ class="/g, '').replace(/"/g, ''));
 	} else {
 		let innerUrl = helper.longnameToUrl[innerType];
 		if (innerUrl) {
EOF
@@ -672,7 +672,7 @@

// Recursively handle the inner type
if (isComplexTypeExpression(innerType)) {
result += linkComplexType(innerType, null, classString.replace(' class="', '').replace('"', ''));
result += linkComplexType(innerType, null, classString.replace(/ class="/g, '').replace(/"/g, ''));
} else {
let innerUrl = helper.longnameToUrl[innerType];
if (innerUrl) {
Copilot is powered by AI and may make mistakes. Always verify output.
@werwolf2303 werwolf2303 force-pushed the jsdoc-to-markdow branch 2 times, most recently from 8fde59f to 64b5efc Compare January 22, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants